import java.util.Set;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2023-04-18
 * Time: 23:03
 */
public class Solution {
//     贪心算法
//     只要当前能到达的最远的位置变远了就进行更新
//     最远的位置超出 最后一个位置就说明能够到达最后一个位置
    public boolean canJump(int[] nums) {
        // 记录能到达的最远的位置
        int step = 0;
        for (int i = 0; i < nums.length ; i++) {
            // 最远的位置超出 最后一个位置就说明能够到达最后一个位置
            if(step >= nums.length - 1){
                return true;
            }
            // 要是能到达的最远的位置变化了, 就进行更新
            if(i <= step && (i+nums[i] > step)){
                step = i+nums[i];
            }
        }
        return false;
    }
}
